package com.scs.application.modules.fsd.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.scs.application.core.entity.DataEntity;
import com.scs.application.modules.upgrade.db.annotation.EntityClassAnnotation;
import com.scs.application.modules.upgrade.db.annotation.EntityFieldAnnotation;
import com.scs.application.modules.upgrade.db.annotation.EntityIndexAnnotation;
import com.scs.application.modules.upgrade.db.enums.EntityFieldType;
import lombok.Data;
import lombok.experimental.Accessors;

/**
 * @Description: 站点
 */
@Data
@Accessors(chain = true)
@EntityClassAnnotation(remark = "智能柜-站点表")
@TableName("fsd_station")
@EntityIndexAnnotation(ux = {"station_code"})
public class FsdStation extends DataEntity {

    @EntityFieldAnnotation(
            text = "站点编号",
            length = "10",
            not_null = true,
            default_value = "",
            comment = ""
    )
    private String stationCode;

    @EntityFieldAnnotation(
            text = "站点名称",
            length = "30",
            not_null = true,
            default_value = "",
            comment = ""
    )
    private String stationName;

    @EntityFieldAnnotation(
            text = "设备类型chest智能柜 room智能屋 pass通道型门禁",
            length = "30",
            not_null = true,
            default_value = "chest",
            comment = ""
    )
    private String type;

    @EntityFieldAnnotation(
            text = "站点名称拼音",
            length = "30",
            not_null = true,
            default_value = "",
            comment = ""
    )
    private String stationNamePy;

    @EntityFieldAnnotation(
            text = "门禁关闭时间(s)",
            type = EntityFieldType.INT,
            not_null = false,
            default_value = "10"
    )
    private Integer autoCloseDoorSpan;

    @EntityFieldAnnotation(
            text = "开门报警时长(s)",
            type = EntityFieldType.INT,
            not_null = false
    )
    private Integer doorOpenAlertSpan;

    @EntityFieldAnnotation(
            text = "自动登出时长(s)",
            type = EntityFieldType.INT,
            not_null = true,
            default_value = "30",
            comment = ""
    )
    private Integer autoLogoutSpan;

    @EntityFieldAnnotation(
            text = "自动上传数据时长(s)",
            type = EntityFieldType.INT,
            not_null = true,
            default_value = "",
            comment = ""
    )
    private Integer autoUploadSpan;

    @EntityFieldAnnotation(
            text = "自动下载数据时长(s)",
            type = EntityFieldType.INT,
            not_null = true,
            default_value = "",
            comment = ""
    )
    private Integer autoDownloadSpan;

    @EntityFieldAnnotation(
            text = "关灯时间",
            type = EntityFieldType.INT,
            not_null = true,
            default_value = "30",
            comment = ""
    )
    private Integer lampCloseSpan;

    @EntityFieldAnnotation(
            text = "扫描时间",
            type = EntityFieldType.INT,
            not_null = true,
            default_value = "6",
            comment = ""
    )
    private Integer scanTime;

    @EntityFieldAnnotation(
            text = "工号长度",
            type = EntityFieldType.INT,
            not_null = true,
            default_value = "4",
            comment = ""
    )
    private Integer jobNumberMax;

    @EntityFieldAnnotation(
            text = "密码长度",
            type = EntityFieldType.INT,
            not_null = true,
            default_value = "6",
            comment = ""
    )
    private Integer passwordMax;

    @EntityFieldAnnotation(
            text = "站点说明",
            length = "100",
            not_null = false,
            default_value = "",
            comment = ""
    )
    private String remark;

    @EntityFieldAnnotation(
            text = "绑定的柜子IP",
            length = "15",
            not_null = false,
            default_value = "",
            comment = ""
    )
    private String bindIp;

    @EntityFieldAnnotation(
            text = "在线状态",
            type = EntityFieldType.TINYINT,
            length = "1",
            not_null = true,
            default_value = "0",
            comment = ""
    )
    private String onlineStatus;

    @EntityFieldAnnotation(
            text = "低耗自动消耗触发比例(%)",
            type = EntityFieldType.INT,
            length = "3",
            default_value = "",
            comment = ""
    )
    private Integer autoConsumeRatio;

    @EntityFieldAnnotation(
            text = "温湿度JSonArray",
            length = "900",
            not_null = false,
            default_value = "",
            comment = ""
    )
    private String humiture;

    @EntityFieldAnnotation(
            text = "是否自动移库",
            length = "",
            not_null = true,
            default_value = "0",
            comment = ""
    )
    private Boolean autoTransfer;

    @EntityFieldAnnotation(
            text = "RFID过滤JSonArray",
            length = "900",
            not_null = false,
            default_value = "",
            comment = ""
    )
    private String rfidFilter;
}
